

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Traceability Tools [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Hierarchy,Hierarchy Window, In Traceability,Relationship,Relationship Matrix, In Traceability,Traceability,Traceability With Hierarchy Window,Traceability With Relationship Matrix,Traceability With Dependency Report,Traceability With Implementation Report,Traceability Tools,Implementation Report,Implementation Report In Traceability,Dependency Report,Dependency Report In Traceability">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Traceability Tools</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="create_traceability_diagrams.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="referencedata.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">The <a href="packages_and_elements.htm">model structure</a> and <a href="create_traceability_diagrams.htm">Traceability diagram</a> act as starting points for tracing the definition, design and implementation of a feature of a system or process. By applying tools such as the </span><span class="f_UIControl">Relationship Matrix</span><span class="f_BodyText"> and </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window to these, you can follow threads throughout the model to determine how the feature is implemented and tested. You can also obtain information on what elements realize and are realized by the elements in a given package, using the <a href="dependsreport.htm">Dependency report</a> and <a href="implementationreport.htm">Implementation report</a>, respectively.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Hierarchy Window</span></p>
<p class="p_BodyText"><span class="f_TextIndentedL2">The </span><span class="f_BodyText"><a href="hierarchy.htm">Hierarchy window</a> is a </span><span class="f_TextIndentedL2">most useful and versatile traceability tool</span><span class="f_BodyText">. Starting with a Traceability diagram or a package structure in the </span><span class="f_UIControl">Project Browser</span><span class="f_BodyText">, you can use the </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window to quickly explore the relationship chain of which any element is a component. When you click on the element, it immediately becomes the top point in the </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window.</span></p>
<p class="p_BodyText"><span class="f_BodyText">If you require a rapid, broad-brush view of relationship flows in the project structure, starting with a general list of - say - all functional Requirements, you can use a combination of </span><span class="f_UIControl"><a href="search_view.htm">Model Search</a></span><span class="f_BodyText">, </span><span class="f_UIControl">Project Browser</span><span class="f_BodyText"> and </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window; this is a powerful tool for scanning your project, identifying how elements have been organized, and how they interact. For example, the </span><span class="f_UIControl">Model Search</span><span class="f_BodyText"> would list all the requirements, you could rapidly click on each element and immediately see in the </span><span class="f_UIControl">Project Browser</span><span class="f_BodyText"> where it has been grouped, and at the same time - in the </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window - how that element interacts with other elements in the model.</span></p>
<p class="p_BodyText"><span class="f_BodyText">You can select any or all of the relationship types available in the </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window toolbox. The single type selected below is </span><span class="f_BodyText" style="font-style: italic;">Realizes</span><span class="f_BodyText"> (Implements), and the selected element is the </span><span class="f_BodyText" style="font-style: italic;">Delete User</span><span class="f_BodyText"> Use Case. The </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window then shows that </span><span class="f_BodyText" style="font-style: italic;">Delete User</span><span class="f_BodyText"> implements </span><span class="f_BodyText" style="font-style: italic;">REQ017</span><span class="f_BodyText">, but this is also partially realized by the </span><span class="f_BodyText" style="font-style: italic;">Close Account</span><span class="f_BodyText"> Use Case.</span></p>
<p class="p_TextIndentedL2"><img src="traceability%20-%20hierarchy.png" width="346" height="153" border="0" alt="Traceability - Hierarchy"></p>
<p class="p_BodyText"><span class="f_BodyText">By moving the cursor around a diagram or the </span><span class="f_UIControl">Project Browser</span><span class="f_BodyText">, and/or changing the relationship type combinations in the </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window, you can quickly see how elements are connected and how they influence each other. For example, you can see that REQ017 is realized by two Use Cases, so you might then explore what else influences and is influenced by these two Use Cases. The </span><span class="f_UIControl">Hierarchy</span><span class="f_BodyText"> window takes you well beyond what is likely to be depicted on any single diagram.</span></p>
<p class="p_BodyText"><span class="f_BodyText">If you have used transformations to develop your model, the </span><span class="f_MenuKeyField">T</span><span class="f_BodyText"> icon displays the transformation dependencies that exist between an element in a PIM and elements in the PSMs.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Relationships Matrix</span></p>
<p class="p_BodyText"><span class="f_BodyText">Using the </span><span class="f_UIControl"><a href="elementrelationshipmatrix.htm">Relationships Matrix</a></span><span class="f_BodyText">, you can both create and study the relationships between, for example, the Requirements and Use Cases for a module. You might identify the 'theme' package (in this case, </span><span class="f_BodyText" style="font-style: italic;">Manage Users</span><span class="f_BodyText">) in the Requirements model and the Use Case model as the source and target packages, and explore the likely element and connector types in the packages. This, like the Traceability diagram, identifies which Requirements are (or should be) realized by which Use Cases. You can then perform similar checks with the </span><span class="f_BodyText" style="font-style: italic;">Manage Users</span><span class="f_BodyText"> packages in, say, the Use Case and Implementation models.</span></p>
<p class="p_BodyText"><span class="f_BodyText">The </span><span class="f_BodyText" style="font-weight: bold;">Source</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-weight: bold;">Target</span><span class="f_BodyText"> field browsers (</span><span class="f_MenuKeyField">[ ... ]</span><span class="f_BodyText">) enable you to examine child packages within the 'theme' package, and obtain further detail on how the feature at this stage is defined.</span></p>
<p class="p_TextIndentedL2"><img src="traceability%20-%20relmatrx.png" width="607" height="412" border="0" alt="Traceability - RelMatrx"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Other Tools</span></p>
<p class="p_BodyText"><span class="f_BodyText">You can also obtain information on what elements realize and are realized by the elements in a given package, using the <a href="dependsreport.htm">Dependency report</a> and <a href="implementationreport.htm">Implementation report</a>, respectively.</span></p>
<p class="p_BodyText"><span class="f_BodyText">You can trace how a Class or Interface element in a diagram or the </span><span class="f_UIControl">Project Browser</span><span class="f_BodyText"> is implemented in code or, for tables, in DDL, using the </span><span class="f_UIControl"><a href="thesourcecodeviewer.htm">Source Code viewer</a></span><span class="f_BodyText">. For code, as you click on features in the element, the corresponding code is highlighted in the viewer.</span></p>
<p class="p_BodyText"><span class="f_BodyText">From the perspective of model management or project management, you could also use the </span><span class="f_UIControl"><a href="auditing.htm">Audit View</a></span><span class="f_BodyText"> as a means of tracing the change history of a package or element.</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
